package com.atguigu.test6;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;

/**
 * @author 路飞
 * @date 2024/3/29 20:11
 * @description
 * 入参为一个整型数组（Integer[] input），
 * 要求对入参(input)按奇偶数分成两个数组，
 * 要求启动两个线程，分别将入参(input)中的奇数和偶数输出到一个文件中，
 * 需要偶数线程每打印10个偶数以后，就将奇数线程打印10个奇数，如此交替进行。
 * 同时需要记录输出进度，每完成1000个数就在控制台中打印当前完成数量，
 * 并在所有线程结束后，在控制台打印“Done”
 *
 *
 * // TODO 看答案吧，自己是不会写了
 */
public class Test4 {
    public static void main(String[] args) {
        int[] arr = new int[10000];
        int[] oddNumberArr = new int[arr.length];
        int[] evenNumberArr = new int[arr.length];
        int oddIndex = 0;
        int evenIndex = 0;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % 2 == 0) {
                evenNumberArr[evenIndex++] = arr[i];
            } else {
                oddNumberArr[oddIndex++] = arr[i];
            }
        }
    }
}

/**
 * @description 奇数
 */
class OddNumber implements Runnable {

    private int[] oddArr;

    public OddNumber(int[] oddArr) {
        this.oddArr = oddArr;
    }

    @Override
    public void run() {
        try {
            PrintStream printStream = new PrintStream(new FileOutputStream("file.txt"));
            for (int i = 0; i <= oddArr.length; i++) {
                printStream.print(oddArr[i]);
            }
        } catch (FileNotFoundException e) {
            throw new RuntimeException(e);
        }
    }
}

/**
 * @description 偶数线程
 */
class EvenNumber implements Runnable {

    private int[] evenArr;

    public EvenNumber(int[] evenArr) {
        this.evenArr = evenArr;
    }

    @Override
    public void run() {
        try {
            PrintStream printStream = new PrintStream(new FileOutputStream("file.txt"));
            for (int i = 0; i <= evenArr.length; i++) {
                printStream.print(evenArr[i]);
            }
        } catch (FileNotFoundException e) {
            throw new RuntimeException(e);
        }
    }
}
